Pinvon's Blog

所见, 所闻, 所思, 所想

Express Session

安装模块

npm install express-session --save

app.js

var session = require('express-session');

保存到文件

npm install session-file-store --save

app.js

var fileStore = require('session-file-store')(session);

...

app.use(session({
  secret: 'penglaozi',
  store: new fileStore(),
  resave: false,
  cookie: {
    maxAge: 60 * 1000,
  }
}));

保存到 mongodb

npm install connect-mongo --save

app.js

var mongoStore = require('connect-mongo')(session);

...

app.use(session({
  secret: 'penglaozi',
  store: new MongoStore({ //创建新的mongodb数据库
      url: config.url, //比如:'mongodb://cha:root@localhost:27017/ch_db'
      collection: config.sessionCollection //比如:'ch_sessions'
  }),
  resave: false,
  cookie: {
    maxAge: 60 * 1000,
  }
}));

保存到 redis

npm install connect-redis --save

app.js

var redisStore = require('connect-redis')(session);

...

app.use(session({
  secret: 'penglaozi',
  store: new RedisStrore({
   "host" : "192.168.0.13",
   "port" : "6379",
   "pass" : "123456",
   "db" : 1,
   "ttl" : 1800,
   "logErrors" : true
  }),
  resave: false,
  cookie: {
    maxAge: 60 * 1000,
  }
}));

设置 session

在需要的地方设置 session. 如登录时:

req.session.user = {
    'name': req.body.uname,
    'pass': req.body.upwd
}

Comments

使用 Disqus 评论
comments powered by Disqus